// TODO: mimic Shape.js